The present invention relates generally to a complementary code keying (CCK) receiver, and in particular, to an early-late symbol tracking architecture incorporating a Fast Walsh Transform (FWT).
Complementary code keying is a variation on M-ary orthogonal keying (MOK) modulation, which uses an in-phase quadrature (I/Q) modulation architecture with complex symbol structures. CCK supports multi-channel operation in the unlicensed 2.4-GHz industrial-scientific-medical (ISM) band by using the existing IEEE 802.11 direct-sequence, spread spectrum (DSSS) channelization schemes. The spreading employs the same chipping rate and spectrum shape as the 802.11 Barker word-spreading functions, with three non-interfering channels in the 2.4-to-2.483-GHz band. Particular attention is directed to the May 1999 issue of Wireless Systems Design, and in particular, the article entitled xe2x80x9cCCK Modulation Delivers 11 Mb/s for a High-Rate 802.11(b) Extensionxe2x80x9d on pages 31-39. The disclosure is incorporated herein by reference.
CCK is a version of xe2x80x9colderxe2x80x9d spread spectrum technologies. Spread spectrum technology, originally introduced in the 1920""s, has evolved over a number of decades from uses in secured military applications to conventional wireless communication applications. Spread spectrum technology provides for organizing radio frequency energy over a wide range of frequencies and moving among the frequency range on a time divided basis.
Whenever signals are communicated, the potential for losing data or degradation of the communication signal may increase. Maintaining a synchronized timing base among a transmitter and a receiver is therefore paramount. If the synchronization or timing of transmission or arrival of a signal is off, then the information content of the signal cannot be recovered correctly. Thus, searching for a communication signal and tracking the communication signal are two of the most important synchronization responsibilities performed by a receiver. The searching process operates to find or locate possible signals in order to demodulate the received communication signal. The tracking process, in contrast, operates to track and receive the timing of the received communication signal. This is often accomplished using a tracking loop. Conventional tracking loops work to fine-tune the symbol timing.
When transmitting data via CCK, multiple bits of data are used to determine a transmitted symbol, which is customary nomenclature for the transmitted signal corresponding to transmitted data. FIGS. 1A and 1B depict a CCK code set for a 64-word code index. The code index is the data to be transmitted, and the xe2x80x9clength-8 code wordsxe2x80x9d represent the corresponding symbols actually transmitted. Complementary code keying is a nearly orthogonal code set having real and imaginary components mapable on a constellation defined by a real and imaginary axis. From the CCK code set we can see the number 28 has a binary code index of 011100 with a corresponding symbol for transmission of [+1, xe2x88x92j, +j, xe2x88x921, +1, xe2x88x92j, xe2x88x92j, +1]. For transmission and reception, the mapping of the data bits to transmitted symbols, and vice-versa, can be implemented by a look-up table or other technique customary in the art.
At the receiver, the signal can be passed through 64 correlators to determine the transmitted symbol. A more efficient method of reception is to employ a single shift register and feed the parallel value created by the shift register into a Fast Walsh Transform (FWT) butterfly circuit. The FWT circuit creates 64 output values from 8 input values. The 64 outputs of the FWT circuit correspond to the cross-correlation outputs that would be created by implementing 64 correlators. From these 64 outputs, a decision for the symbol transmitted is made by picking the FWT output having the largest magnitude. FIG. 5 depicts the magnitude of all 64 outputs of the FWT over a symbol duration. Interestingly, as opposed to the 802.11 phase shift keyed (PSK) direct sequence spread spectrum system, there are multiple peaks of correlation. Given these multiple peaks, it is necessary to ensure that the symbol decision circuitry does not make decisions on xe2x80x9cfalsexe2x80x9d peaks.
As noted, decoding a CCK signal involves correlation of the received signal with all members of the set of orthogonal code words. The index of the code word giving the highest correlation yields the desired information. For example, if a signal""s correlation produces the highest correlation on the tenth code word, the desired signal information is the binary word 001010 (ten).
Importantly, a received composite signal can be efficiently correlated simultaneously with the set of orthogonal code words using an FWT. In the case of a 64-code, six-bit index, 8 input composite signal chips are transformed into 64 measured correlation values, in which each value represents the value of the correlation of the composite signal with a respective code word. The FWT output values represent the degree of correlation between the received 8-chip symbol and each of the 64 code words. The maximal value in the measured correlation value identifies the proper code word, the index of which conveys six bits of information.
In spread spectrum communication systems, symbol timing is maintained only when the relative (time) alignment between the transmitter and receiver are synchronized. When code symbol timing cannot be guaranteed, errors result. Given the importance of synchronizing the receiver, and in particular, tracking the received signal to ensure proper correlation, there is a need for an efficient architecture and method for tracking the received signal in a CCK receiver.
The present invention provides early-late symbol tracking for a CCK receiver. The receiver receives a complex spread spectrum signal modulated using complementary code keying. The received signal is down converted and cross correlated with code words using a Fast Walsh Transform. The peak magnitudes resulting from the Fast Walsh Transform for a period before, during, and after an expected symbol boundary are monitored. The relative magnitudes of the early, on-time and late measurements are compared to determine which output has the largest magnitude. If the on-time measurement is the largest, symbol tracking continues without a timing adjustment. When the on-time measurement has the largest magnitude, symbol tracking for the prior symbol was synchronized, which indicates there is no need to change synchronization timing for the next symbol period. If the on-time measurement is not the largest in magnitude, then a determination is made as to which of the late or early measurements are the greatest in magnitude. If the early measurement has the greatest magnitude, then the tracking timing is adjusted one period downward in order to shorten the period expected before the next symbol boundary. Alternatively, if the late measurement has the largest magnitude, then the tracking timing is increased by one sample period in order to increase the amount of time before the next expected symbol boundary. This process repeats itself to provide accurate symbol tracking.